***********************************************
* VGM music package                           *
* https://www.smspower.org/Music              *
***********************************************

Game name:           Columns
System:              Sega Game Gear
Complete music dump: Yes
FM:                  No

Original author:     Tokuhiko Uwabo
Publisher:           Sega
Package created by:  Maxim
Package version:     1.10


Files, in approximate game order:

Name                                Length:
                                    Total  Loop
Filthy (Select)                     0:19   0:19
Quagmire (Start) (Unused)           0:05   -
Clotho                              1:30   1:30
Clotho (Critical)                   0:26   0:26
Clotho (Recovery + Desynced)        1:37   1:30
Lathesis                            1:30   1:30
Lathesis (Critical)                 0:38   0:16
Lathesis (Recovery)                 0:06   -
Atropos                             1:30   1:30
Atropos (Critical)                  0:46   0:13
Atropos (Recovery)                  0:14   -
Conciliation (Game Over)            0:03   -
Boy Wonder (Name Entry) (Unused)    0:35   -

Total Length                        9:18   7:12


Notes:

Dumped by hacking the game: music trigger at 
$dd03, values $81+.

However, this game has a range of extra
complications:

1. The three main BGMs are controlled by a
   flag at $dd08, which allow them to fork the
   music sequence at key points (two per loop)
   into a "critical" music phase, which has
   its own bridge and loop; and then again at
   key points into "recovery" music, which
   bridges back to the main loop.
2. For Clotho, the "recovery" sequence has a
   bug which means the main loop is then
   de-synced. Thus, "Clotho (Recovery)" includes
   both the recovery bridge (as intro) and the
   main loop de-synced.
3. For Atropos, the "critical" sequence has a
   bug that causes it to drop the volume on the
   lead melody just before the first loop. Thus, 
   "Atropos (Critical)" includes the intro, 
   first loop, then the volume-decreased second
   loop as the main looping section.
4. This volume reduction also affects "Atropos
   (Recovery)", which is also quieter than
   was probably intended.
5. This volume reduction also affects "Atropos"
   when it resumes, as it remains quieter than
   before. In this case, I chose not to bother
   including it in the VGM.
6. The three main BGMs are also variable speed.
   The byte at $DD02 controls insertion of a
   single-frame delay every n frames. I ripped
   all the tracks with this held at its initial
   value (4). Thus, there is a little jitter
   in note lengths depending on their alignment
   to multiples of four frames. I chose not to
   re-rip at the "full" speed (i.e. no delays)
   as that's never heard in-game - the maximum
   speed it uses is a delay every 255 frames.

As part of this investigation, I produced this
disassembly:

https://github.com/maxim-zhao/game-gear-columns-sound-engine

I hope someone can use this to correct the music
bugs in the original.

Track titles are based on information at
https://vgmdb.net/album/655


Version history:

2026/06/11 Version 1.00 (Maxim): First version.
2026/06/19 Version 1.10 (Maxim): Added the missing
  "critical" and "recovery" parts.
